package xyz.bali16.module.netdisk.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@TableName(value = "netdisk_uploadfile")
//@Accessors(chain = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UploadFile  {
    /**
     * 文件id
     */
    @TableId(value="id",type= IdType.ASSIGN_UUID)
    private String id;
    /**
     * 文件底层存储名称
     */
    @TableField(value="uuid")
    private String UUID;
    /**
     * 用于文件去重
     */
    private String md5;
    /**
     * 文件仓库ID
     */
    private String fileStorageId;
    /**
     * 父文件夹ID
     */
    private String parentFolderId;
    /**
     * 文件名称
     */
    private String name;
    /**
     * 文件路径 (相对)
     */
    private String path;
    /**
     * 文件类型
     */
    private Integer type;
    /**
     * 文件大小
     */
    private Integer size;
    /**
     * 后缀
     */
    private String suffix;
    /**
     * 下载次数
     */
    private Integer downloadCount;
    /**
     * 文件状态 0不可用 1可用 2被封
     */
    private Integer state;
    /**
     * 缩略图地址
     */
    private String thumbnail;
    /**
     * 尺寸
     */
    private String weight;

    /**
     * 上传者id
     */
    private String uploadFileUserId;
    /**
     * 删除时间
     */
    @TableField(fill = FieldFill.INSERT)
    private String gmtDeleted;
    /**
     * 上传时间
     */
    @TableField(fill = FieldFill.INSERT)
    private String gmtCreated;



    public String getFullName() {
        return name + suffix;
    }
    public String getFullUUIDName() {
        return UUID + suffix;
    }
}